#案例：演示字符串类型的一些小知识！

#单引号、双引号嵌套问题
# a="abcd'1234'def"
# a='abcd"1234"def'
# a="abcd\"1234\"def"
a='abcd\'1234\'def'
print(a)

#演示字符串的截取
#情况1：从字符串中获取某字符:格式：变量名[下标]
a="abcd12345"
ret=a[2] #ret="c"
print(ret)


#情况2：从字符串中获取某子字符串:格式:变量名[开始下标:结束下标:步长]
a="abcd1234dsd"
# ret=a[4:8]
# ret=a[4:8:2] #演示步长
# ret=a[:8] #演示开始下标的默认值
# ret=a[4:] #演示结束下标的默认值
# ret=a[::]
# ret=a[:]
# ret=a
ret=a[::-1] #演示负步长。逆转字符串/反转字符串！
print(ret)

#字符串类型中支持的运算符：+  *  in  not in
#演示+：格式：str1+str2
#功能：把str2拼接到str1后面
ret="abcd"+"1234"
# ret="abcd"+10 #Errpr
print(ret)

#扩展：默认情况下:str+int/float/bool都是不可以的！如果想要相加怎么办？str()
ret="abcd"+str(10) #ret="abcd"+"10"="abcd10"
print(ret)


# 演示*:格式：str*正int
#功能：把该字符串重复n次！
ret="abcd"*3 #ret="abcdabcdabcd"
print(ret)


# 演示in:
#情况1：字符 in 某字符串
a="abcd1234"
ret="s" in a
print(ret)

#情况2：子字符串 in 某字符串
a="abcd1234ds"
b="12345"
ret=b in a
print(ret)


# 演示not in


#转义字符
#含义：把某些含有特殊含义的字符转换为普通字符！
#以双引号进行说明：特殊含义(代表字符串的边界)，本身含义（双引号）！
#常见的转义字符及其代表的普通含义：
'''
转义字符    普通含义
\t          Tab键=4个空格
\"          双引号本身
\'          单引号本身
\n          换行
\r          回车:把光标移动到本行的行首！
'''
# a="abcd\t1234\tdef"
# a="abcd\n1234"
a="abcd\r123456"
print(a)

#格式化输出字符串：
#含义：把一些数据(可以是不同数据类型)按照一定的格式拼接成一个字符串！
a=10
b=12.34
c="我爱中国"
#想要最终拼接后的字符串："A=10,B=12.34,C=我爱中国"
#方法1：
ret="A="+str(a)+",B="+str(b)+",C="+c
print(ret)

#方法2：格式："含有占位符的字符串"%(值的列表)
'''
常用的占位符有哪些：
数据类型        占位符
int             %d
float           %f %.nf
string          %s
'''
# ret="A=%d,B=%f,C=%s"%(a,b,c)
ret="A=%d,B=%.2f,C=%s"%(a,b,c)
print(ret)


#演示:f-string
name="张三"
ret=f'Hello {name}'#ret="Hello 张三"
print(ret)


ret=f'{1+2*3+4}' #ret="11"
print(ret)


#